package com.hqully.labmanage.service;

import com.github.pagehelper.PageInfo;
import com.hqully.labmanage.domain.dto.LaboratoryDTO;
import com.hqully.labmanage.domain.dto.PageDTO;

import java.util.List;

/**
 * <p>
 * 针对数据库表[laboratoryDTO]的操作Service
 * </p>
 *
 * @entity {@link LaboratoryDTO}
 * @date 2022-10-08 10:05:23 <br>
 * @author hqully <br>
 * @version 1.0
 */

public interface LaboratoryService {

     /**
      * <p>
      *     根据[laboratoryDTO]的参数分页条件查询实验室列表
      * </p>
      * @param page    分页参数
      * @param laboratoryDTO 查询对象条件参数
      * @return {@link PageInfo<LaboratoryDTO>} 实验室DTO分页列表
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     PageInfo<LaboratoryDTO> pageLaboratorys(PageDTO page, LaboratoryDTO laboratoryDTO);


     /**
      * <p>
      *     根据[laboratoryDTO]的参数条件查询实验室
      * </p>
      * @param laboratoryDTO 查询对象
      * @return {@link List<LaboratoryDTO>} 实验室DTO列表
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     List<LaboratoryDTO> listLaboratorys(LaboratoryDTO laboratoryDTO);


     /**
      * <p>
      *     添加实验室
      * </p>
      * @param laboratoryDTO 实验室DTO
      * @return {@link int}
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     int addLaboratory(LaboratoryDTO laboratoryDTO);

     /**
      * <p>
      *     更新实验室
      * </p>
      * @param laboratoryDTO 实验室DTO
      * @return {@link int}
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     int updateLaboratory(LaboratoryDTO laboratoryDTO);


     /**
      * <p>
      *     通过[id]删除实验室
      * </p>
      * @param id 实验室id
      * @return {@link int}
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     int deleteLaboratoryById(String id);

}
